'''
Server begrüßt den Nutzer im Server mit seinem Namen.
Der Nutzer muss seinen Namen in der Adresszeile des Browsers hinter die Server-Adresse schreiben (getrennt durch ein /-Zeichen).
'''
import network
import socket
from time import time
# Wlan-Zugangsdaten; hier Ihre Wlan-Daten eintragen:
ssid = 'mipamipa'
password = 'Asdfghjkl1234'
def getrequest(connection):
result = ''
block_size = 64 # nur zum Test so klein, sonst z. B. 512
while True:
data = connection.recv(block_size)
result += str(data, 'UTF-8')
if result.find('\r\n\r\n') >= 0: # Ende des Requests gefunden
break
return result
def http_header():
return '''HTTP/1.1 200 OK\r
Content-Type: text/html\r
Connection: close\r
\r
'''
def html(request):
getparam = request.split(' ')[1] # Element 1 von ['GET', '/name', ... ]
myname = getparam[1:] # '/' gehört nicht zum Namen
return '
Hallo '+myname+'
'
# Konfiguration des Wlans:
station = network.WLAN(network.STA_IF)
station.active(True)
station.connect(ssid, password)
time0 = time()
while (not station.isconnected()) and (time() - time0 < 5):
pass
if station.isconnected():
print('Wlan connected')
print(station.ifconfig()) # zur Information
s = socket.socket() # Socket des Servers
s.bind(('', 80))
s.listen(5)
print('Server listening')
print('--------------------------------------')
# Daten holen;
while True:
connection, addr = s.accept()
print("Client connected: ", addr) # bei manchen Browser connected ohne Senden eines HTML-Requests!
request = getrequest(connection)
connection.send(http_header())
print(http_header()) # zur Kontrolle
connection.send(html(request))
print(html(request)) # zur Kontrolle
connection.close()
print('--------------------------------------------')
station.active(False)
print('Wlan deactivated')
print('Please reset!')